首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏网络安全攻防

    JEP290攻防对抗

    JEP290简介 JEP290增强机制是在2016年提出的一个针对JAVA 9的一个新特性,用于缓解反序列化攻击,随后官方决定向下引进该增强机制,分别对JDK 6,7,8进行了支持: Java SE Development Java SE Development Kit 7, Update 131 (JDK 7u131) Java SE Development Kit 6, Update 141 (JDK 6u141) JEP290 提供一个限制反序列化类的机制,白名单或者黑名单 限制反序列化的深度和复杂度 为RMI远程调用对象提供了一个验证类的机制 定义一个可配置的过滤机制,比如可以通过配置properties文件的形式来定义过滤器 JEP290 JEP290绕过 实现原理 在RMI远程方法调用过程中,方法参数需要先序列化,从本地JVM发送到远程JVM,然后在远程JVM上反序列化,执行完后再将结果序列化,发送回本地JVM,而本地的参数是我们可以控制的 /blogs/766093/posts/3135411 https://mogwailabs.de/en/blog/2019/03/attacking-java-rmi-services-after-jep

    83610发布于 2021-07-21
  • 来自专栏用户2276240的专栏(5)

    Java|JDK 26 新特性之万字详解 JEP 500:让 Final 名副其实——Java 封装模型的终极加固

    本文将深入剖析这一问题的历史根源、技术危害,并详细解读JEP500在JDK26中引入的警告机制及其背后的弃用策略。 JEP500的提出,标志着Java平台决心正视并解决这一历史遗留问题。 第二章:JEP500的解决方案——温和而坚定的弃用路径JEP500的核心哲学是渐进式变革。 2.1JDK26:发出强烈警告在JDK26中,JEP500的主要体现是日志警告。 第三章:对开发生态的影响与应对策略JEP500的涟漪效应将波及整个Java生态。

    11520编辑于 2026-04-06
  • 来自专栏FreeBuf

    分析JEP 290机制的Java实现

    简介 JEP290是Java官方提供的一套来防御反序列化的机制,其核心在于提供了一个ObjectInputFilter接口,通过设置filter对象,然后在反序列化(ObjectInputStream# JEP 290 在 JDK 9 中加入,但在 JDK 6,7,8 一些高版本中也添加了: Java? ObjectInputFilter$Config$Global 接着上面的分析,我们跟进该类的createFilter方法 将传入的JEP规则字符串var0传入Global内部静态类的构造方法中,创建了一个 查看官方文档,我们知道JEP 290的编写规则为: 如果模式以“!”开头,如果模式的其余部分匹配,则该类被拒绝,否则被接受 如果模式包含“/”,则“/”之前的非空前缀是模块名称。

    92100编辑于 2022-11-14
  • 来自专栏技术猫屋

    JEP290的基本概念

    JEP290 0x01 什么是JEP? JDK Enhancement Proposal 简称JEP,是 JDK 增强提议的一个项目,目前索引编号已经达到了JEP415,本文重点来谈谈什么是JEP290,JEP290做了哪些事,JEP290绕过的方法总结等 0x02 什么是JEP290? Serialization Data JEP290 是 Java 为了防御反序列化攻击而设置的一种过滤器,其在 JEP 项目中编号为290,因而通常被简称为JEP290 0x03 JEP290的适用范围 值得注意的点 JEP290需要手动设置,只有设置了之后才会有过滤,没有设置的话就还是可以正常的反序列化漏洞利用 JEP290默认只为 RMI 注册表(RMI Register层)、 RMI分布式垃圾收集器

    91730编辑于 2023-01-03
  • 来自专栏网络安全攻防

    JAVA安全之JEP290攻防对抗录

    JEP290简介 JEP290增强机制是在2016年提出的一个针对JAVA 9的一个新特性,用于缓解反序列化攻击,随后官方决定向下引进该增强机制,分别对JDK 6,7,8进行了支持: Java SE Development Java SE Development Kit 7, Update 131 (JDK 7u131) Java SE Development Kit 6, Update 141 (JDK 6u141) JEP290 提供一个限制反序列化类的机制,白名单或者黑名单 限制反序列化的深度和复杂度 为RMI远程调用对象提供了一个验证类的机制 定义一个可配置的过滤机制,比如可以通过配置properties文件的形式来定义过滤器 JEP290 Status.REJECTED : Status.ALLOWED; } JEP290绕过 实现原理 在RMI远程方法调用过程中,方法参数需要先序列化,从本地JVM发送到远程JVM,然后在远程JVM上反序列化 /blogs/766093/posts/3135411 https://mogwailabs.de/en/blog/2019/03/attacking-java-rmi-services-after-jep

    39710编辑于 2024-12-20
  • 来自专栏码农小胖哥的码农生涯

    Java 14 新特性之JEP 359: Records(Preview)

    前言 本月(2020-03) Java 14 就该正式发布了,有一个 Java 社区呼唤已久的特性将作为 preview feature包含在 Java 14 中 ,这就是 JEP 359: Records

    1.1K30发布于 2020-03-05
  • 来自专栏深度学习与python

    Java 新闻:JEP 423、Quarkus 2.7.0、Micronaut Serialization、JReleaser等

    作者 | Michael Redlich 译者 | 平川 策划 | 丁晓昀 2022 年 1 月 31 日的 Java 每周新闻综述,主要介绍了 OpenJDK(JEP 423)、JDK 18 OpenJDK JEP 423(Region Pinning for G1)从草案状态提升为候选状态。 该 JEP 提案通过在 G1 垃圾收集器中实现区域钉选(region pinning)来减少 GC 延迟。

    1.5K30编辑于 2022-03-23
  • 来自专栏深度学习与python

    JEP 456:准备删除 Unsafe 中的内存访问方法

    译者 | 平川 策划 | 丁晓昀 JEP 471(弃用 sun.misc.Unsafe 中的内存访问方法以备删除)已经在 JDK 23 中发布。 该 JEP 建议弃用 Unsafe 类中的内存访问方法,以便在将来的版本中删除。 这些不再支持的方法已经被标准 API 所取代:JEP 193(变量句柄,已在 JDK 9 中交付)和 JEP 454(外部函数和内存 API,已在 JDK 22 中交付)。 VarHandle API(即在 JDK 9 中交付的 JEP 193)提供了安全操作堆内存的方法,可以确保操作有效执行并且不会出现未定义的行为。 外部函数和内存 API(即在 JDK 22 中交付的 JEP 454)提供了安全的堆外内存访问方法,通常与 VarHandle 搭配使用来管理 JVM 堆内和堆外内存。

    89910编辑于 2024-06-27
  • 来自专栏空空裤兜

    又遇500

    又遇到500了,是500服务器内部错误,不是两个250. 宽带换套餐迟了,只好销户再开,也就从前天起没法上网了,昨天早上用手机登陆网站的时候发现500错误了,以为只是一会,结果晚上了还没好,就联系电信机房把我的宽带账号激活,赶紧看看出啥事了。 上次也出现过500错误,那次是hotlink保护设置的不对,这次没对网站做任何修改就500了,看了下错误日志,都是要访问的网页不存在,找不到具体的原因,就去衡天提交支持单,回复就是查看文件权限和.htaccess 原文链接:https://www.kudou.org/500-again.html

    78020编辑于 2023-03-03
  • 来自专栏空空裤兜

    出现500错误

    游戏玩到歇会的间隙,打开网站看看,结果500错误了,刷新,还是500。搜……,很多asp的解决办法,没用,掠过,php的,在.htaccess文件想办法,我也看不懂里面的规则,也就没打开去细看。 原文链接:https://www.kudou.org/500-error.html

    2.7K20编辑于 2023-03-03
  • 来自专栏机器学习与统计学

    深度学习500

    最近在 github 发现了一个有趣的项目,《深度学习500问》,由川大一名优秀毕业生创建。 目前,该项目的 star 数已经超过 24000,有 6700 多次 Fork,项目地址: https://github.com/scutan90/DeepLearning-500-questions 这 18 个章节涉及到深度学习的各个方面: 深度学习500问,以问答形式对常用的概率知识、线性代数、机器学习、深度学习、计算机视觉等热点问题进行阐述,以帮助自己及有需要的读者。 AI 科技大本营:您是什么时候开始写《深度学习500问》的?初衷是什么? AI 科技大本营:《深度学习500问》大概什么时候完成?目前还缺少两章节的内容有什么样的规划? 谈继勇:本来打算一年内完成,但由于项目、paper等众多因素影响,精力有限,使得计划延期。

    95520发布于 2019-05-06
  • 来自专栏程序员小航

    Hao 主题 500 错误

    不少小伙伴安装,或者升级主题后会遇到这个情况,原因是因为后台部分配置不适配,或者新的配置没有设置属性。

    52920编辑于 2023-08-30
  • 来自专栏深度学习与python

    Java 近期新闻:OpenJDK JEP、Spring 更新、Payara 平台和 Kotlin 1.6

    JEPJEP 412(第一个孵化器,包含在 JDK 17 中)演化而来,根据 Java 社区的反馈做了改进,变化包括:支持更多的内存访问句柄,如 boolean 和 MemoryAddress JEP 419 的评审将在 2021 年 11 月 23 号结束。 instanceof 的模式匹配(JEP 394)包含在 JDK 16 中。 JEP 422,即 Linux/RISC-V 移植,从 Draft 阶段进入到 Candidate 阶段。 JDK 18 目前的特性集合如下: JEP 400:默认字符集为 UTF-8; JEP 408:Simple Web Server; JEP 413:Java API 文档中加入了代码片段; JEP 416 :通过方法句柄重新实现代码反射; JEP 417:Vector API(第三个孵化器); JEP 418:网路地址解析 SPI; JEP 419: 外部函数和内存 API (第二个孵化器); JEP 420

    2K30发布于 2021-12-01
  • 来自专栏深度学习与python

    JEP 447 已发布,可在构造函数的 super()调用之前执行语句

    Oracle 技术顾问成员 Gavin Bierman 为 Java 社区提供了这个 JEP 的初始规范,供社区评审并提供反馈意见。 JEP 447 放宽了这些限制,允许在显式构造函数调用之前出现不引用正在创建的实例的语句。 有了 JEP 447,这个过程变得更加简洁和直观。 这种直接的方法增强了可读性,减少对使用辅助方法的需求,展示了 JEP 447 在实际应用场景中的好处。 JEP 447 不仅提供了更大的灵活性,还保留了构造函数行为的基本保证,确保子类构造函数不会干扰超类的实例化。

    95010编辑于 2024-01-23
  • 来自专栏DevOps Boy

    PHP与500错误

    PHP开发过程中经常会遇到返回500错误的情况,而且body体中也没有任何调试(可用)内容。 但既然是错误,总是会有处理方法,下面就一步步分析500的成因及处理方案。 0x01、500错误 500错误,也叫Internal Server Error(内部服务错误),表示服务因未知错误导致无法处理请求。 [php-fpm抓包500] 从上图中可以看出(Nginx+PHP-FPM架构),在PHP调用一个不存在的类时,脚本发生错误并返回500给Nginx(并且将错误信息也做了返回,只不过是卸载STDERR中 [E_ERROR级别错误导致的500] 0x03、什么情况下错误不会返回500 上面说了,这个是PHP脚本的错误导致的,但是PHP脚本有了错误或异常一定会导致500吗?

    8.8K40发布于 2019-03-07
  • 来自专栏程序猿DD

    Java 近闻:JDK 20、新的 JEP 草案、JobRunr 6.0、GraalVM 22.3.1

    Oracle Java 语言和 Java 虚拟机规范负责人 Alex Buckley 更新了 JEP Draft 8300684(预览特性:一个向后,一个向前)。 该草案建议重新评审 JEP 12(预览特性)引入的预览过程,以便对该过程进行潜在的持续改进。 Oracle 技术团队主要成员 Wang Jun更新 了 JEP Draft 8301034(Key Encapsulation Mechanism API),这个 JEP 建议:满足标准 密钥封装机制 JDK 20 的最后 6 个特性包括: JEP 429:作用域值(孵化器); JEP 432:记录模式(第二次预览); JEP 433:switch 的模式匹配(第四次预览); JEP 434:外部函数和内存 API(第二次预览); JEP 436:虚拟线程(第二次预览); JEP 437:结构化并发(第二轮孵化器)。

    1.2K20编辑于 2023-02-24
  • 来自专栏HikariLan's Blog

    —— 浅谈 JEP 445

    由 ChatGPT 生成的文章摘要 这篇文章主要介绍了Java JEP 445,即预览中的JEP,引入了两个机制:未命名类和实例main方法,用于简化Java的main方法声明。 这篇帖子的文章内容只有这样一张图片: 如果你是一位苦逼的 Java 程序员,那么当你看到这张图的时候也许震惊的会跳起来,但是如果你没有看懂,那就且听我细细往下说…… JEP 445 的前世今生 JEP 事实上,JEP 445 早在 2023 年 2 月就被创建了,单之所以刚刚才火,是因为 OpenJDK 14 个小时前才批准了这个 JEP 的代码实现:JDK-8306112 Implementation 那么,JEP 445 到底引入了一套什么样的机制呢? 这篇 Reddit 文章下的高赞评论给出了 JEP 445 的链接,随后提问到:“这将是 Java 模板代码梗的末日吗”,我想,至少在 JEP 445 中,这种痛苦还远未结束吧。

    76930编辑于 2023-10-18
  • 来自专栏深度学习与python

    JEP 428:结构化并发,简化 Java 多线程编程

    作者 | A N M Bazlur Rahman 译者 | 明知山 策划 | 丁晓昀 JEP 428,即结构化并发 (孵化器阶段),已经从 Proposed 状态进入到 Target 状态。 在 Project Loom 的框架下,这个 JEP 提议引入一个库,将在不同线程中运行的多个任务视为原子操作,以此来简化多线程编程。它可以简化错误处理和取消操作,提高可靠性,并增强可观察性。 这个 API 运行在 JEP 425 之上——虚拟线程 (预览阶段),发布目标也为 JDK 19。

    69910编辑于 2023-03-29
  • 来自专栏码匠的流水账

    Java26的新特性

    特性列表 JEP 500: Prepare to Make Final Mean Final 本特性旨在为未来版本限制通过深度反射修改final字段做准备,从JDK 26起,凡是通过Field::set staticStringcategory(Object price){ returnswitch(price){ caseint p when p <100->"BUDGET"; caseint p when p <500 ,整体概括如下:5个正式特性(JEP 500、504、516、517、522),4个预览特性(JEP 524、525、526、530),1个孵化器特性(JEP 529)。 JEP 500: Prepare to Make Final Mean Final JEP 504: Remove the Applet API JEP 516: Ahead-of-Time Object Title Status Project Feature Type Changes since Java 25 500 Prepare to Make Final Mean Final Core Libs

    13410编辑于 2026-03-31
  • 来自专栏码匠的流水账

    Java26新特性

    特性列表JEP500:PreparetoMakeFinalMeanFinal本特性旨在为未来版本限制通过深度反射修改final字段做准备,从JDK26起,凡是通过Field::set、MethodHandles.Lookup JEP504:RemovetheAppletAPI在JDK9的JEP289:DeprecatetheAppletAPI中首次废弃AppletAPI在JDK17的JEP398:DeprecatetheAppletAPIforRemoval 等原始类型staticStringcategory(Objectprice){returnswitch(price){caseintpwhenp<100->"BUDGET";caseintpwhenp<500 ,整体概括如下:5个正式特性(JEP500、504、516、517、522),4个预览特性(JEP524、525、526、530),1个孵化器特性(JEP529)。 JEP500:PreparetoMakeFinalMeanFinalJEP504:RemovetheAppletAPIJEP516:Ahead-of-TimeObjectCachingwithAnyGCJEP517

    43710编辑于 2026-03-24
领券